home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
compile_to_c26.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
19KB
|
778 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "compile_to_c.h"
T0* r10command_arguments(void){
if(fBC1command_arguments==0){
T0* _arg=NULL;
T2 _i=0;
fBC1command_arguments=1;
_i=se_argc;
{T62*n=malloc(sizeof(*n));
*n=M62;
r62make(n,_i);
oBC1command_arguments=(T0*)n;
}
while (!((_i)==(0))) {
_i=(_i)-(1);
_arg=((T0*)e2s(se_argv[_i]));
/*[IRF3.5put*/((((T62*)oBC1command_arguments))->_storage/*0*/)[_i]=(_arg);
/*]*/
}
}
return oBC1command_arguments;}
void r364c_define_for(T0* a1,T0* a2){
T0* _rfargs=NULL;
T0* _rfrt=NULL;
T0* _rfct=NULL;
_rfct=/*X51current_type*/((T0*)(((T324*)a2))->_current_type/*4*/);
_rfrt=X51result_type(a2);
_rfargs=X51arguments(a2);
r28put_string((T28*)(oBC12echo),X54run_time_mark(_rfct));
r28put_character((T28*)(oBC12echo),'\56');
r28put_string((T28*)(oBC12echo),X83to_string(/*X51name*/((T0*)(((T324*)a2))->_name/*16*/)));
r28put_character((T28*)(oBC12echo),'\n');
/*[IRF3.3clear*/((((T7*)((T7*)(oBC364tmp_string))))->_count)=(0);
/*]*/
/*[IF*/
if((_rfrt)!=((void*)(NULL))){
X54c_type_for_external_in(_rfrt,oBC364tmp_string);
}
else{
r7append((T7*)(oBC364tmp_string),((T0*)ms13_1776a));
}
/*FI]*/
r7extend((T7*)(oBC364tmp_string),'\40');
r7append((T7*)(oBC364tmp_string),a1);
r7extend((T7*)(oBC364tmp_string),'\50');
X54c_type_for_external_in(_rfct,oBC364tmp_string);
r7extend((T7*)(oBC364tmp_string),'\40');
r7extend((T7*)(oBC364tmp_string),'C');
/*[IF*/
if((_rfargs)!=((void*)(NULL))){
r7extend((T7*)(oBC364tmp_string),'\54');
r187external_prototype_in(((T187*)_rfargs),oBC364tmp_string);
}
/*FI]*/
r7extend((T7*)(oBC364tmp_string),'\51');
r25put_c_heading((T25*)(oBC12cpp),oBC364tmp_string);
/*[IRF3.3swap_on_c*/((((T25*)((T25*)(oBC12cpp))))->_current_out)=(oBC25out_c);
/*]*/
r364define_body_of(a2);
}
void r364fill_up(T364* C){
T2 _i=0;
T0* _rf=NULL;
T0* _fn=NULL;
T0* _fna=NULL;
T0* _rta=NULL;
T0* _t=NULL;
/*[IF*/
if((((T43*)(oBC12run_control))->_cecil_path/*20*/)!=((void*)(NULL))){
{T326*n=malloc(sizeof(*n));
*n=M326;
r326with_capacity(n,4);
C->_user_cecil_list=(T0*)n;
}
{T62*n=malloc(sizeof(*n));
*n=M62;
r62with_capacity(n,4);
C->_user_cecil_name=(T0*)n;
}
C->_user_path_h=r34connect_to_cecil((T34*)(oBC12eiffel_parser));
{T343*n=malloc(sizeof(*n));
*n=M343;
r343with_capacity(n,4);
_rta=(T0*)n;
}
{T86*n=malloc(sizeof(*n));
*n=M86;
r86with_capacity(n,4);
_fna=(T0*)n;
}
while (!(r34end_of_input((T34*)(oBC12eiffel_parser)))) {
r62add_last((T62*)((C)->_user_cecil_name/*4*/),r34parse_c_name((T34*)(oBC12eiffel_parser)));
X343add_last(_rta,r34parse_run_type((T34*)(oBC12eiffel_parser)));
r86add_last(((T86*)_fna),r34parse_feature_name((T34*)(oBC12eiffel_parser)));
}
r34disconnect((T34*)(oBC12eiffel_parser));
r28put_string((T28*)(oBC12echo),((T0*)ms364_17856));
_i=0;
while (!((_i)>(/*X343upper*/((T2)(((T343*)_rta))->_upper/*12*/)))) {
_t=X54to_runnable(/*X343item*/((T0*)r343item(((T343*)_rta),_i)),r364type_any());
_fn=/*(IRF4.6item*/((((T86*)_fna))->_storage/*0*/)[_i]/*)*/;
_rf=r24get_feature((T24*)(X54run_class(_t)),_fn);
/*[IF*/
if((_rf)==((void*)(NULL))){
r21add_position(X83start_position(_fn));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms364_103698);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
X326add_last((C)->_user_cecil_list/*0*/,_rf);
r331update_with(_rf);
_i=(_i)+(1);
}
}
/*FI]*/
}
/*No:CECIL_POOL.fz_void*/
T0* r364type_any(void){
if(fBC12type_any==0){
fBC12type_any=1;
{T259*n=malloc(sizeof(*n));
*n=M259;
r259make(n,NULL);
oBC12type_any=(T0*)n;
}
}
return oBC12type_any;}
/*No:CECIL_POOL.fz_00*/
void r364c_define_users(T364* C){
/*[IF*/
if(((C)->_user_cecil_list/*0*/)!=((void*)(NULL))){
r28put_string((T28*)(oBC12echo),((T0*)ms364_13015));
r25connect_cecil_out_h((T25*)(oBC12cpp),(C)->_user_path_h/*8*/);
r364c_define_for_list((C)->_user_cecil_list/*0*/,(C)->_user_cecil_name/*4*/);
/*[IRF3.5disconnect_cecil_out_h*/r45disconnect(((T45*)(((T25*)(oBC12cpp))->_out_h/*52*/)));
/*]*/
}
/*FI]*/
}
/*No:CECIL_POOL.fz_12*/
/*No:CECIL_POOL.user_cecil_name*/
T0*oBC364tmp_string=NULL;
void r364c_define_for_list(T0* a1,T0* a2){
T2 _i=0;
_i=/*X326upper*/((T2)(((T49*)a1))->_upper/*12*/);
while (!((_i)<(0))) {
r364c_define_for(/*(IRF4.6item*/((((T62*)a2))->_storage/*0*/)[_i]/*)*/,/*X326item*/((T0*)/*(IRF4.6item*/((((T49*)a1))->_storage/*4*/)[_i]/*)*/));
_i=(_i)-(1);
}
}
/*No:CECIL_POOL.user_path_h*/
/*No:CECIL_POOL.user_cecil_list*/
void r364define_body_of(T0* a1){
T0* _running=NULL;
T0* _cecil_arg_list=NULL;
T0* _cecil_target=NULL;
T0* _rfrt=NULL;
T0* _rfct=NULL;
_rfct=/*X51current_type*/((T0*)(((T324*)a1))->_current_type/*4*/);
_rfrt=X51result_type(a1);
_running=((T24*)(X54run_class(_rfct)))->_running/*12*/;
/*[IF*/
if((_running)==((void*)(NULL))){
r21add_type(_rfct,((T0*)ms364_63822));
/*[IRF3.6append*/{T0* b1=((T0*)ms364_25494);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X54run_time_mark(_rfct);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X83to_key(/*X51name*/((T0*)(((T324*)a1))->_name/*16*/));
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6extend*/{T3 b1='\56';
r7extend((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
}
/*FI]*/
/*[IF*/
if(r43no_check((T43*)(oBC12run_control))){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms364_99028));
/*]*/
}
/*FI]*/
/*[IF*/
if((_rfrt)!=((void*)(NULL))){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC364tmp_string))))->_count)=(0);
/*]*/
r7extend((T7*)(oBC364tmp_string),'\173');
X54c_type_for_external_in(_rfrt,oBC364tmp_string);
r7append((T7*)(oBC364tmp_string),((T0*)ms364_543));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),oBC364tmp_string);
/*]*/
}
/*FI]*/
{T366*n=malloc(sizeof(*n));
*n=M366;
/*[IRF3.3make*/((((T366*)(n)))->_run_feature)=(a1);
/*]*/
_cecil_target=(T0*)n;
}
/*[IF*/
if((X51arg_count(a1))>(0)){
{T365*n=malloc(sizeof(*n));
*n=M365;
r365run_feature(n,a1);
_cecil_arg_list=(T0*)n;
}
}
/*FI]*/
/*[IF*/
if(X54is_expanded(_rfct)){
r25push_direct((T25*)(oBC12cpp),a1,_cecil_target,_cecil_arg_list);
X51mapping_c(a1);
r25pop((T25*)(oBC12cpp));
}
else{
r25push_cpc((T25*)(oBC12cpp),a1,_running,_cecil_target,_cecil_arg_list);
}
/*FI]*/
/*[IF*/
if((_rfrt)!=((void*)(NULL))){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_144));
/*]*/
}
/*FI]*/
/*[IF*/
if(r43no_check((T43*)(oBC12run_control))){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms364_12978));
/*]*/
}
/*FI]*/
/*[IF*/
if((_rfrt)!=((void*)(NULL))){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms364_8364));
/*]*/
}
/*FI]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_276));
/*]*/
}
/*No:CECIL_POOL.fatal_error*/
void r96make(T96* C,T0* a1,T0* a2,T0* a3){
C->_clients=a1;
C->_comment=a2;
C->_list=a3;
}
void r96add_into(T96* C,T0* a1){
T0* _f=NULL;
T2 _i=0;
/*[IF*/
if(((C)->_list/*8*/)!=((void*)(NULL))){
_i=0;
while (!((_i)>(/*X99upper*/((T2)((T99*)((C)->_list/*8*/))->_upper/*12*/)))) {
_f=/*X99item*/((T0*)r99item((T99*)((C)->_list/*8*/),_i));
X93set_clients(_f,(C)->_clients/*0*/);
X93add_into(_f,a1);
_i=(_i)+(1);
}
}
/*FI]*/
}
/*No:FEATURE_CLAUSE.comment*/
/*No:FEATURE_CLAUSE.list*/
/*No:FEATURE_CLAUSE.clients*/
/*No:CREATION_CALL_4.fz_cast_t0_star*/
/*No:CREATION_CALL_4.start_position*/
/*No:CREATION_CALL_4.us_std_file_read*/
void r254c2c_closing(T254* C,T0* a1){
X56compile_to_c((C)->_writable/*8*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\75';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_1350));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='n';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_144));
/*]*/
/*[IF*/
if(r25call_invariant_start(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='n';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T45* C1=(T45*)(oBC25out_c);
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\73';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\175';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\n';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
T0* r254add_comment(T254* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
/*AF*/else{
{T225*n=malloc(sizeof(*n));
*n=M225;
r225make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T6 r254use_current(T254* C){
T6 R=0;
/*[IF*/
if((r254run_args(C))!=((void*)(NULL))){
R=X149use_current(r254run_args(C));
}
/*FI]*/
R=(R)||(X56use_current((C)->_writable/*8*/));
return R;
}
T0* r254run_args(T254* C){
T0* R=NULL;
R=X162arguments((C)->_call/*20*/);
return R;
}
T0* r254to_runnable(T254* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_current_type/*12*/)==((void*)(NULL))){
r254check_writable(C,a1);
r254check_explicit_type(C);
r254check_created_type(C,(C)->_type/*24*/);
r254check_creation_clause(C,(C)->_type/*24*/);
R=(T0*)C;
}
else{
{T254*n=malloc(sizeof(*n));
*n=M254;
r254make(n,(C)->_start_position/*4*/,(C)->_type/*24*/,(C)->_writable/*8*/,(C)->_call/*20*/);
R=(T0*)n;
}
R=r254to_runnable(((T254*)R),a1);
}
/*FI]*/
return R;
}
/*No:CREATION_CALL_4.fz_00*/
/*No:CREATION_CALL_4.writable*/
T6 r254is_pre_computable(T254* C){
T6 R=0;
T0* _rfctbcn=NULL;
T0* _rfn=NULL;
T0* _rfct=NULL;
/*[IF*/
if(X56is_result((C)->_writable/*8*/)){
/*[IF*/
if((r254run_args(C))==((void*)(NULL))){
R=1;
}
else{
R=X149is_pre_computable(r254run_args(C));
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X51is_pre_computable((C)->_run_feature/*16*/)){
}
else{
_rfct=/*X51current_type*/((T0*)((T324*)((C)->_run_feature/*16*/))->_current_type/*4*/);
_rfctbcn=((T64*)(((T63*)(X54base_class(_rfct)))->_name/*24*/))->_to_string/*0*/;
_rfn=X83to_string(/*X51name*/((T0*)((T324*)((C)->_run_feature/*16*/))->_name/*16*/));
/*[IF*/
if((((T0*)ms14_1696))==((void*)(_rfn))){
/*[IF*/
if((((T0*)ms14_1990))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_14982))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_5046))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_12700))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_16887))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_19334))==((void*)(_rfctbcn))){
}
else{
R=0;
}
/*FI]*/
}
else if((((T0*)ms14_2675))==((void*)(_rfn))){
/*[IF*/
if((((T0*)ms14_5046))==((void*)(_rfctbcn))){
}
else{
R=0;
}
/*FI]*/
}
else if((((T0*)ms14_27651))==((void*)(_rfn))){
/*[IF*/
if((((T0*)ms14_1990))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_14982))==((void*)(_rfctbcn))){
}
else if((((T0*)ms14_12700))==((void*)(_rfctbcn))){
}
else{
R=0;
}
/*FI]*/
}
else{
R=0;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CREATION_CALL_4.fz_03*/
/*No:CREATION_CALL_4.collect_c_tmp*/
/*No:CREATION_CALL_4.us_string*/
/*No:CREATION_CALL_4.run_feature*/
/*No:CREATION_CALL_4.us_array*/
void r254c2c_expanded_initializer(T254* C,T0* a1){
T0* _rf3=NULL;
_rf3=X54expanded_initializer(a1);
/*[IF*/
if((_rf3)!=((void*)(NULL))){
r25expanded_writable((T25*)(oBC12cpp),_rf3,(C)->_writable/*8*/);
}
/*FI]*/
}
void r254check_writable(T254* C,T0* a1){
T0* _w=NULL;
C->_current_type=a1;
_w=X56to_runnable((C)->_writable/*8*/,a1);
/*[IF*/
if((_w)==((void*)(NULL))){
r21add_position(X56start_position((C)->_writable/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms249_64251);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
else{
C->_writable=_w;
}
/*FI]*/
}
void r254check_creation_clause(T254* C,T0* a1){
T0* _args=NULL;
T0* _top=NULL;
T0* _bottom=NULL;
T0* _fn=NULL;
T0* _ct=NULL;
_fn=/*X162feature_name*/((T0*)((T165*)((C)->_call/*20*/))->_feature_name/*8*/);
_top=r70base_class((T70*)(X83start_position(_fn)));
_bottom=X54base_class(a1);
/*[IF*/
if(X54is_like_current(a1)){
_fn=r63new_name_of(((T63*)_bottom),_top,_fn);
/*[IF*/
if((_fn)==((void*)(NULL))){
_fn=/*X162feature_name*/((T0*)((T165*)((C)->_call/*20*/))->_feature_name/*8*/);
r21add_position(X83start_position(_fn));
/*[IRF3.6append*/{T0* b1=((T0*)ms13_7398);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X83to_string(_fn);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms253_25652);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X54run_time_mark(a1);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_166);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
C->_run_feature=r24get_feature((T24*)(X54run_class(a1)),_fn);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
r254cp_not_found(C,_fn);
}
/*FI]*/
/*[IF*/
if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
}
else if(!(X54has_creation(a1,_fn))){
r21add_position(X83start_position(/*X162feature_name*/((T0*)((T165*)((C)->_call/*20*/))->_feature_name/*8*/)));
r21add_position(X83start_position(_fn));
/*[IRF3.6append*/{T0* b1=X83to_string(_fn);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms253_45856);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_type(a1,((T0*)ms13_47));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
X51add_client((C)->_run_feature/*16*/,X54run_class((C)->_current_type/*12*/));
/*[IF*/
if((X51result_type((C)->_run_feature/*16*/))!=((void*)(NULL))){
r21add_position(X51start_position((C)->_run_feature/*16*/));
r21add_position(X83start_position(_fn));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms253_67122);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(((r254arg_count(C))==(0))&&((X51arguments((C)->_run_feature/*16*/))!=((void*)(NULL)))){
r21add_position(X51start_position((C)->_run_feature/*16*/));
r21add_position((C)->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms253_63744);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if((r254arg_count(C))>(0)){
_ct=/*X51current_type*/((T0*)((T324*)(r22top_rf((T22*)(oBC12small_eiffel))))->_current_type/*4*/);
_args=X149to_runnable(X162arguments((C)->_call/*20*/),_ct);
/*[IF*/
if((_args)==((void*)(NULL))){
r254error(X149start_position(X162arguments((C)->_call/*20*/)),((T0*)ms13_14714));
}
else{
X149match_with(_args,(C)->_run_feature/*16*/,_ct);
}
/*FI]*/
}
/*FI]*/
C->_call=X162make_runnable((C)->_call/*20*/,(C)->_writable/*8*/,_args,(C)->_run_feature/*16*/);
}
/*No:CREATION_CALL_4.fz_bad_arguments*/
/*No:CREATION_CALL_4.fz_09*/
T2 r254arg_count(T254* C){
T2 R=0;
/*[IF*/
if(((C)->_call/*20*/)!=((void*)(NULL))){
R=X162arg_count((C)->_call/*20*/);
}
/*FI]*/
return R;
}
/*No:CREATION_CALL_4.fatal_error*/
/*No:CREATION_CALL_4.us_with_capacity*/
/*No:CREATION_CALL_4.us_blank*/
/*No:CREATION_CALL_4.us_dictionary*/
/*No:CREATION_CALL_4.us_fixed_array*/
/*No:CREATION_CALL_4.type*/
void r254c2c_clear_expanded(T254* C,T2 a1){
X56compile_to_c((C)->_writable/*8*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\75';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='M';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),a1);
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_144));
/*]*/
}
void r254check_created_type(T254* C,T0* a1){
T0* _rt=NULL;
_rt=X54run_type(a1);
/*[IF*/
if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
}
else if(((T63*)(X54base_class(_rt)))->_is_deferred/*16*/){
r21add_type(_rt,((T0*)ms249_11858));
r254warning((C)->_start_position/*4*/,((T0*)ms249_30996));
}
/*FI]*/
/*[IF*/
if(X54is_formal_generic(a1)){
r21add_position((C)->_start_position/*4*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms249_77140);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_type(a1,((T0*)ms249_180));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
r24set_at_run_time((T24*)(X54run_class(_rt)));
}
void r254compile_to_c(T254* C){
/*[IF*/
if(X54is_reference((C)->_type/*24*/)){
r254c2c_opening(C,(C)->_type/*24*/);
r25push_new((T25*)(oBC12cpp),(C)->_run_feature/*16*/,r254run_args(C));
X51mapping_c((C)->_run_feature/*16*/);
r25pop((T25*)(oBC12cpp));
r254c2c_closing(C,(C)->_type/*24*/);
}
else{
r254c2c_clear_expanded(C,X54id((C)->_type/*24*/));
r254c2c_expanded_initializer(C,(C)->_type/*24*/);
}
/*FI]*/
}
void r254warning(T0* a1,T0* a2){
r21add_position(a1);
r21warning((T21*)(oBC12eh),a2);
}
/*No:CREATION_CALL_4.current_type*/
/*No:CREATION_CALL_4.us_make*/
/*No:CREATION_CALL_4.us_std_file_write*/
/*No:CREATION_CALL_4.fz_dot*/
void r254c2c_opening(T254* C,T0* a1){
T0* _rc=NULL;
_rc=X54run_class(a1);
r25se_trace_ins((T25*)(oBC12cpp),(C)->_start_position/*4*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\173';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
r330allocation((T330*)(oBC12gc_handler),_rc);
r25expanded_attributes((T25*)(oBC12cpp),a1);
}
/*No:CREATION_CALL_4.call*/
void r254error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
/*No:CREATION_CALL_4.end_mark_comment*/
void r254make(T254* C,T0* a1,T0* a2,T0* a3,T0* a4){
C->_start_position=a1;
C->_type=a2;
C->_writable=a3;
C->_call=a4;
}
void r254check_explicit_type(T254* C){
T0* _t=NULL;
T0* _ct=NULL;
_ct=/*X51current_type*/((T0*)((T324*)(r22top_rf((T22*)(oBC12small_eiffel))))->_current_type/*4*/);
_t=X54to_runnable((C)->_type/*24*/,_ct);
/*[IF*/
if(((_t)==((void*)(NULL)))||(!(X54is_run_type(_t)))){
r21add_position(X54start_position((C)->_type/*24*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms251_33726);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
else{
C->_type=_t;
}
/*FI]*/
/*[IF*/
if(!(X54is_a((C)->_type/*24*/,X56result_type((C)->_writable/*8*/)))){
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms251_34704);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
void r254cp_not_found(T254* C,T0* a1){
r21add_position(X83start_position(/*X162feature_name*/((T0*)((T165*)((C)->_call/*20*/))->_feature_name/*8*/)));
r21add_position(X83start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms253_53476);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
void r254afd_check(T254* C){
/*[IF*/
if((r254arg_count(C))>(0)){
X149afd_check(r254run_args(C));
}
/*FI]*/
}